Upon opening the program, the user is presented, after the splash screen, which may be terminated by a mouse click or a wait of 30 seconds, with a standard Quicktime preview file open dialog. This will allow selection of only files with file type of "MooV", standard Quicktime movies, or Quicktime VR object movies. When first using the program on a file, the user will be requested to supply frame layout data giving columns, rows, and animation loop length. If the movie has previously been opened by LookSee, a layout resource may have been added which will eliminate the need for any data entry. This entry dialog is self-explanatory, with the possible exception of the (A) data. Data must be entered in all fields, and in the case of animation, if there is no animation looping, a value of 1 should be used. Default values are generated by the program for all other required data. While the movie is open, virtually all of the parameters for animation and navigation may be varied by the user. Upon closing the movie or quitting the program, the user will be prompted to save all pertinent preferences and layout information as a resource in the file where it will be available when the file is again opened. up to five (5) movies may be open at once, and animation loops will continue even with the program in background. The movie objects may be rotated or tilted using either the cursor keys, or the mouse. Mouse interaction options may be selected to match the movie or personal preference.
Detailed Menu Descriptions:
The LookSee menu bar contains five menus:
ð File Edit Layout Navigation
These will be discussed in order.
ð :
The only thing we add here is the About LookSee item. All usual Apple Menu items operate as they should.
File:
As usual, all read/write operations are located here. Menu items are;
Open - Standard Quicktime preview file open dialog to allow selection of a movie file.
Close - Close currently selected object window. If the preferences have been changed, or no LookSee preference resource is present in the movie file, the user will be asked if the new values should be saved in the file.
Save Layout - This option will save a new or altered LookSee preference resource to the movie without waiting for file close.
Quit - Obvious action. User will be prompted to save altered layouts or preferences.
The Close, and Save Layout items are disabled if not applicable to a window.
Edit:
This program does not support any actions using the edit menu. The entire menu is disabled during program operation.
Layout:
Items relating to setting or inspecting information for movie organization and animation are located here. Specific items are:
Set Frame Layout - This displays a data entry dialog as partially described above. All changes affect only the movie in the currently active window and may be saved in the preference resource, canceled entry will be ignored. Dialog entry is filtered, and only numerical values may be entered, an integer value greater than zero must be present in all three boxes before the OK button is enabled. Unusable layout combinations are refused, and warning is given if the product of the three integers does not match the frame count of the movie.
Set Poster Frame - Simply rotate the object to the desired placement and click on this item. The Column, and Row indices of this frame are placed in the preference structure, and can be saved in the file. When the movie is reopened, the object will start in the "Poster" position which was saved.
Set Animation Rate - This item displays a submenu allowing selection of five different animation rates. These set animation ticks per frame from 0, very fast, to 16, very slow. Actual frame rate depends on system speed, and will vary from about four to twenty frames per second on fast systems, and four to twelve frames per second on slow systems. This item is disabled if the frame layout shows no animation loops.
Movie Data - Displays an alert box showing number of frames in the movie, the presence of a preference resource in the movie file, and whether the preference data has been changed (is dirty) since the movie was opened.
Layout Data - Displays the horizontal, vertical, and animation loop layout of the movie.
Poster Frame Data - Displays the column and row number of the poster frame (default is 0,0). Numbering starts at zero, and thus 0,0 is the first frame of the movie.
Animation Data - Displays the size of the animation loop and the tick (1/60ths. of a second) time per frame.
This entire menu is disabled if no movie is open.
Navigation:
Items relating to setting parameters for movie navigation are located here. Specific items are:
Mouse Click -
Grab/Turn - These items describe mutually exclusive methods of mouse action. A click on either of the items toggles both of them to select a mouse action method. One of these items will always be on. Chosen method is saved in the preference resource.
Mouse click describes a mouse action which imitates the cursor key movements but has eight possible directions (diagonals are included) for movement. Action is initiated by mouse click-and-hold anywhere in the active image area, and moving the mouse in the direction of desired motion. Once the mouse passes out of the initiation zone, (a distance of 25 pixels), object rotation begins and continues even if mouse movement now stops. Movement continues in the desired direction one frame step at a time until either the mouse button is released, the mouse is returned to the initiation zone, or the frame limits are reached. Speed is as fast as the screen can be redrawn.
Grab/Turn describes a mouse action which positions the object dependent on the cursor position and movement, the object motion follows the cursor motion like a trackball being rotated by a hand. Action is initiated by mouse click-and-hold anywhere in the active image area, and moving the mouse, with the button still down to some other position on the screen. Object rotation begins at once, and movement continues until either the mouse button is released, the mouse stops moving, or the frame limits are reached. Position is coupled to mouse position, so some frames may be bypassed at high speed. This is the most "natural" navigation method.
Navigation Ratios - This item opens a two level submenu (a direct violation of Apple Interface Guidelines) to allow setting the action ratios coupling mouse position to object rotation in the grab/turn navigation. Very fast gives about 360 degree rotation in one movie frame width, and very slow takes about the entire width of a 14" monitor for the same rotation. Currently selected ratio are shown by check marks, and ratios are saved in the preference data. This item is disabled if mouse click navigation is selected.
Reverse Rotation -
Reverse Vertical - These items change the rotation directions resulting from either cursor key or mouse navigation. Choice of direction is somewhat a matter of personal preference. Both items are toggles with state indicated by checks. These switch states are also saved in the preference resource.
This entire menu is disabled if no movie is open.
Program Concepts:
This program was begun as a learning exercise in Quicktime techniques. Four precepts were followed through out:
1: Program must run either Quicktime VR object movies or regular Quicktime movie player movies. This program will play either of the types of object movies, or even play a regular time track movie with control of play speed and movement forward or backwards.
2. Program should allow the maximum amount of user latitude in choosing playback and control options. This program allows the user to control just about everything in the movie independently. There are control options for:
Animation speed - 5 speeds.
Reverse directions - Independent control of rotation and tilt reversal.
Mouse navigation - Two types described above.
Object movement - 5 speeds with independent settings for rotation or tilt.
Cursor key navigation - Reversible H or V.
Layout - Choose any layout you want to try!! Choose only the first part of the whole sequence!! Choose only one frame ( nothing will rotate)!! A neat trick is to take a movie with normal layout such as H-36, V-13, A-1 (no animation!) and give it values H-1, V-13, A-36. This will give a continuous animated rotation of the object which can be tilted in the vertical direction in normal fashion.
3. No changes should be made to the movie resources themselves which could affect any standard Quicktime player operation. No changes are made to the movie data or movie resource in any form. All preference data is saved in a special 'lspr' resource which adds less than 50 bytes to the file.
4. Ease of use should be maximized by use of defaults and internally saved preferences. The only needed user inputs to start viewing a movie are the layout parameters H,V, and A. If these are totally unknown, values of 1,1,1 can be entered, and then the true number of frames determined from the Movie Data menu item. Then, a longer sequence can be entered in H to actually count the frames, etc. until you get the correct values. All other options have default values assigned by the program which the user can change as preferred. These defaults are obtained from the 'lspr' resource in the application, and can be changed to user desired values using the ResEdit program. A TMPL resource for ResEdit is also in the application so it can present the data in easily comprehended form.
To assure maximum range for playback speed, the movie data is unbuffered. It is transferred directly to the screen window. frames are accessed one-by-one, even in the animation loops. This allows the animation to run smoothly while the object is being rotated, thus avoiding the annoying habit of the Apple Quicktime VR Player which always resets the animation loop to the first frame when the position changes. Animation speeds can be changed from as fast as your system will run them down to about four frames per second to check animation movements.
The program is remarkably compact. Although it takes up about 280K of disk, most of this (about 250K) is for the about box PICT and the splash screen with embedded movie. All of the art work for these is by Daniel Forsythe, the 15 year old son. Most of the coding is by George Forsythe, that's me, the 52 year old dad. We're quite proud of the splash screen effect. It turned out to be relatively simple to play a movie from the data fork of the application. The only problem was that the compiler would not easily copy the data fork into a compiled application. If you include an extra $2.00 for disk and postage in your shareware fee remittal, I will be glad to send C-source code and directions for getting this effect.
Past, Present, and Future Projects:
TT-Katakana
A truetype and bitmapped font set using standard keyboard layout to create Katakana typeface.
Nu Note v1.0b1
A simple "Stickies" type utility using a little-known Finder feature leaves addressable notes or reminders as clickable orphan documents.
LookAround (Present Project)
A simplified process panorama viewer, similar to Quicktime VR single and multiple - node movies.
???? (Future Project)
An integrated LookSee and LookAround viewer offering multi - node and inter - node movement and object selection. Probably a two - program set; one program to create the movies; another program to act as a stand-alone playback vehicle or game engine.